iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
ChatGPT & Codex

從零開始,用 ChatGPT 與 Codex 打造我的泰語小旅伴系列 第 3

Day 3|ChatGPT 跟 Codex 怎麼分工?

  • 分享至 

  • xImage
  •  

前兩天,我先決定了要做「泰語小旅伴」,也把第一版 App 想做的內容大致整理出來。

照理說,接下來應該可以開始寫程式了。

但真的準備動手時,我馬上遇到一個很基本的問題:

這個到底要在哪裡做?ChatGPT 還是 Codex?

現在看起來,這個問題好像有點簡單,但對當時完全沒有開發經驗的我來說,我其實連 ChatGPT 和 Codex 在這個專案裡各自應該負責什麼,都還沒有概念。

我原本以為 Codex 就是比較會寫程式的 ChatGPT

在真正開始之前,我對 Codex 的理解很簡單:

「比較會寫程式的 ChatGPT。」

兩個都是 AI,也都可以用文字告訴它我要做什麼,所以我一開始很自然地想:

那我是不是直接去 Codex 說「幫我做泰語學習 App」就好了?

但開始討論之後,我才發現這樣好像少了一個很重要的步驟。

因為我自己連需求都還沒有完全搞懂。

例如我要做「基本問候」課程,這句話看起來很清楚,但再往下問,就會出現很多問題:

要顯示哪些內容?中文、泰文、羅馬拼音都要嗎?要不要有發音?課程要怎麼從首頁進去?做完之後,我又要怎麼判斷它有沒有符合需求?

如果連我自己都還說不清楚,直接把一個很大的需求丟給 Codex,它就算真的寫出東西,我可能也不知道該怎麼驗收。

所以我開始覺得,ChatGPT 和 Codex 好像不只是「兩個都會寫程式的 AI」。

ChatGPT 比較像先陪我把問題想清楚

後來我慢慢形成一個工作方式。

遇到新的功能時,我會先留在 ChatGPT 討論,例如:

  • 這個功能到底需要做哪些事情?
  • 如果我是初學者,有哪些概念應該先理解?
  • 這個需求是不是太大?
  • 可以怎麼拆成比較小的步驟?
  • 做完之後,我要檢查哪些地方?

對我來說,這一步很重要。

因為我現在最大的問題,不是「少打一行程式碼」,而是很多時候,我根本不知道自己應該問什麼。

ChatGPT 可以先幫我把一個很模糊的想法拆開。

像「我要做泰語學習 App」,就可以先拆成目標使用者、旅遊情境、教材內容和功能範圍;到了真正做功能時,也可以再繼續拆成比較明確的小任務。

所以目前我對 ChatGPT 的理解比較像:

先幫我把事情想清楚,再開始做。

Codex 則是真的進到專案裡動手

等需求比較清楚之後,才輪到 Codex。

這時候交給 Codex 的東西,就不應該再只是:

幫我做一個泰語 App。

而是比較具體的工作。

例如:

建立專案需要的基本檔案。

或者:

把首頁改成手機 App 的樣子,但先不要做真正的互動功能。

再例如:

讓「基本問候」可以點進去,顯示四句教材,而且可以返回首頁。

這些任務有一個共同點:

範圍比較清楚,而且做完之後,我知道要檢查什麼。

Codex 負責的,就比較接近真正進到專案裡工作,例如建立檔案、修改程式、執行指令和測試結果。

所以我後來先把兩者的分工簡單記成:

ChatGPT
↓
討論需求
理解概念
拆小任務
想清楚怎麼驗收

Codex
↓
建立檔案
修改程式
執行測試
回報結果

這不是什麼正式規則,只是對目前的我來說,比較容易掌握的一種方式。

為什麼不全部交給 Codex 就好?

看到這裡,可能會有一個問題:

既然 Codex 本來就會寫程式,為什麼不全部跟 Codex 討論就好?

對我來說,最大的原因是:

我不想只拿到結果。

我想知道它為什麼這樣做。

假設 Codex 一次改了四個檔案,最後跟我說功能完成了,如果我對這四個檔案原本在做什麼完全沒有概念,那我其實很難判斷這次修改到底合不合理。

更不用說如果壞掉,我可能連該從哪裡看都不知道。

所以目前我的做法不是追求:

怎麼樣可以最快讓 AI 把 App 寫完?

而是:

怎麼樣可以讓 AI 幫我做的同時,我還能跟得上現在發生什麼?

這兩個目標其實不太一樣。

如果只是追求速度,也許一句很大的 Prompt 就可以讓 AI 一口氣產生很多程式碼;但對現在的我來說,程式一次出現越多,我反而越難理解。

一次只交一個小任務

所以除了分清 ChatGPT 和 Codex,我也替自己定了一個原則:

一次只做一個範圍明確的小功能。

例如今天只處理專案骨架,就先把骨架弄好;要做首頁,就先做首頁;要做第一個課程,就先讓第一個課程真的能操作。

不要一開始就把課程、測驗、發音、學習紀錄、PWA 全部一起交出去。

這樣做的好處是,Codex 每次修改的範圍比較小,我也比較容易知道:

這次到底改了什麼?原本想解決什麼?最後有沒有真的做到?

如果結果不對,也比較容易回頭找是哪一次修改出了問題。

對完全不會程式的我來說,「慢一點」反而可能比較快,因為至少我還知道自己現在走到哪裡。

Codex 做完,不代表我的工作結束

這也是我開始開發之後,慢慢建立起來的一個觀念。

Codex 說:

完成。

不代表我就可以直接進下一個功能。

我還是需要看它做了什麼。

如果有畫面,就自己打開來看;如果有按鈕,就自己按;如果它說某個功能正常,我也要想辦法確認。

因為 AI 可以幫忙寫程式、幫忙測試,但最後這是不是我要的 App,還是得由我來判斷。

這件事對我來說其實有點矛盾。

我就是因為不會寫程式,才需要 AI 幫忙;但同時,我又不能因為不會寫,就把 AI 做的所有事情直接當成正確答案。

所以這 30 天除了學怎麼寫程式,我覺得另一個很重要的練習可能是:

學著怎麼驗收 AI 寫的程式。

我目前的 ChatGPT + Codex 開發流程

整理到最後,目前我打算用這樣的方式開發「泰語小旅伴」:

想到一個功能
    ↓
先跟 ChatGPT 討論
    ↓
搞懂這個功能要解決什麼
    ↓
拆成一個範圍明確的小任務
    ↓
交給 Codex 實作
    ↓
Codex 測試並回報
    ↓
我自己再實際操作、驗收
    ↓
有問題就回來討論、修改

這個流程之後一定還會繼續調整,畢竟我現在才剛開始。

但至少比一開始的:

「Codex 應該就是比較會寫程式的 ChatGPT 吧?」

清楚多了。

下一步,終於真的要開始建立專案

前三天其實都還沒有正式進入大量程式碼。

Day 1 決定自己想做什麼,Day 2 把 App 的需求縮小,Day 3 則先弄清楚 ChatGPT 和 Codex 要怎麼一起工作。

接下來,終於要真的建立第一個專案。

但對完全沒寫過程式的我來說,又會馬上碰到三個名字:

HTML、CSS、JavaScript。

我知道它們跟網頁有關,但它們到底各自負責什麼?為什麼一個 App 要拆成好幾個檔案?而且 Codex 建完之後,我到底要看哪裡,才知道它有沒有成功?

下一篇,就從第一個真正建立出來的「泰語小旅伴」專案開始。


上一篇
Day 2|先別寫程式:我的泰語學習 App 到底要做什麼?
下一篇
Day 4|第一個專案誕生:HTML、CSS、JavaScript 各做什麼?
系列文
從零開始,用 ChatGPT 與 Codex 打造我的泰語小旅伴9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言